package com.gx.service;


import com.gx.model.pojo.TbFlowClaim;
import com.gx.model.pojo.TbFlowData;
import com.gx.model.pojo.TbFlowEnd;
import com.gx.model.pojo.TbFlowStart;

import java.util.List;
import java.util.Map;

/**
 * @author lpj
 * @Desc 异步流程任务
 */
public interface FlowInfoService {
    /**
     * 保存签收数据信息
     *
     * @param flowClaim 签收信息
     */
    void saveClaim(TbFlowClaim flowClaim);

    /**
     * 保存节点操作信息
     *
     * @param flowData 操作信息
     */
    void saveFlowData(TbFlowData flowData);

    /**
     * 保存启动信息
     *
     * @param flowStart 启动信息
     */
    void saveFlowStart(TbFlowStart flowStart);

    /**
     * 修改启动信息
     *
     * @param taskFomId        表单信息
     * @param nextId           下一节点信息
     * @param nextName         下一节点名称
     * @param processVariables 变量信息
     */
    void updateFlowStart(String taskFomId, String nextId, String nextName, Map<String, Object> processVariables);

    /**
     * 保存完结信息
     *
     * @param flowEnd 完结信息
     */
    void saveFlowEnd(TbFlowEnd flowEnd);

    /**
     * 删除启动信息
     *
     * @param taskFormId 流程表单绑定id信息
     */
    void delStartFlow(String taskFormId);

    /**
     * 删除任务表单绑定信息
     *
     * @param taskFormId id
     */
    void delTaskFormFlow(List<String> taskFormId);

}
